package models;

import java.sql.SQLException;

import models.dados.BancoAdapter;
import models.dados.BancoTeste;
import models.dados.DAO;
import models.dados.DadoNaoEncontradoException;
import models.dados.MySQL;
import play.db.jpa.Model;

public class LoginAdministrador extends Model {
	
	private DAO banco;
	
	public LoginAdministrador (){
		banco = BancoAdapter.getInstancia();
	}
	
	public boolean login(String usuario, String senha)throws UsuarioBloqueadoException, DadoNaoEncontradoException, SQLException{
		Administrador administrador = banco.getAdministrador(usuario);
		if (administrador==null){
			throw new DadoNaoEncontradoException();
		}
		if (!administrador.estaAtivo()){
			throw new UsuarioBloqueadoException();
		}
		if(senha.equals(administrador.getSenha())){
			return true;
		}else{
			return false;
		}
		
		
	}
	
	public void logout(String usuarioAdministrador){
		System.exit(0);
	}
	
	public void alterarSenha(String usuario, String senhaAntiga, String senhaNova) throws SenhaIncorretaException, DadoNaoEncontradoException, SQLException{
		Administrador adm = banco.getAdministrador(usuario); 
		if(adm.getSenha().equals(senhaAntiga)){
			adm.setSenha(senhaNova);
			banco.alterarAdministrador(adm);
		}else{
			throw new SenhaIncorretaException();
		}
		
	}

}
